package com.atguigu.b_test;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Test2 {
    public static void main(String[] args) throws IOException {
        //读写文件
        BufferedReader br = new BufferedReader(new FileReader("T_Day23\\test\\出师表.txt"));

        //先通过输入流对象读文件的中诗句 -> 一句在一行上 -> 一次读一行
        ArrayList<String> list = new ArrayList<>();

        String line;

        while((line = br.readLine()) != null){
            //读到的诗存到集合中
            list.add(line);
        }
        BufferedWriter bw = new BufferedWriter(new FileWriter("T_Day23\\test\\出师表.txt"));

        //对集合进行排序
//        Collections.sort(list, new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                String[] split1 = o1.split("\\.");
//                String[] split2 = o2.split("\\.");
//                String s1 = split1[0];
//                String s2 = split2[0];
//                int i1 = Integer.parseInt(s1);
//                int i2 = Integer.parseInt(s2);
//                return i1 - i2;
//            }
//        });

//        Collections.sort(list, new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return Integer.parseInt(o1.split("\\.")[0])
//                - Integer.parseInt(o2.split("\\.")[0]);
//            }
//        });

//        Collections.sort(list,(o1, o2) -> Integer.parseInt(o1.split("\\.")[0])
//                - Integer.parseInt(o2.split("\\.")[0]));

        Collections.sort(list, Comparator.comparingInt(o -> Integer.parseInt(o.split("\\.")[0])));

        //再遍历集合 把排序好诗句写回到文件中
        for (String shi : list) {
            bw.write(shi);
            bw.newLine();
        }


        //关流
        br.close();
        bw.close();
    }
}
